package com.lhdx.practical.service;

import com.lhdx.practical.bean.Person;
import org.springframework.data.domain.Page;

import java.util.List;

public interface PersonService {
    void save(Person person);

    void deleteById(long id);
    /**
     * 根据主键获取用户实体
     * @param id
     * @return
     */
    Person findById(long id);
    /**
     * 根据用户名密码获取用户实体
     * @param username
     * @param password
     * @return
     */
    Person findByUsernameAndPassword(String username, String password);

    Page<Person> getResultList(long gradeid,long departid,int type, int page, int pagesize);

    List<Person> findByDepartid(long departid);

    List<Person> findAllByTypeAndGradeid(int type,long gradeid);

    List<Person> findByGroupid(long groupid);

    /**
     * 修改登录时间
     * @param id
     * @param logintime
     */
    void updateLoginTime(long id,long logintime);
    /**
     * 修改密码
     * @param id
     * @param password
     */
    void updatePassword(long id,String password);

    void updateFaceImg(long id,String imgface);

    /**
     * 修改小组信息
     * @param id
     * @param isjoin
     */
    void updateIsJoin(long id,int isjoin);
    void updateGroupid(long id,long groupid,String groupname);

    /**
     * 修改个人简介
     * @param id
     * @param profile
     */
    void updateProfile(long id,String profile);

    /**
     * 清除小组所有组员状态
     * @param groupid
     */
    void updateCancelGroupid(long groupid);

    int countByRealname(String username);

    int countByUserno(String userno);

    int countAllByDepartid(long departid);
}
